package cn.it.hbtt;

import java.util.*;

public class User {


    private  String  name;

    private  String[] habit;//爱好

    private List citys;//城市

    private Set SetCitys;

    private Map mapCitys;


    private Properties properties;

    public void setProperties(Properties properties) {
        this.properties = properties;
    }

    public void setMapCitys(Map mapCitys) {
        this.mapCitys = mapCitys;
    }

    public void setSetCitys(Set setCitys) {
        SetCitys = setCitys;
    }

    public void setHabit(String[] habit) {
        this.habit = habit;
    }

    public void setCitys(List citys) {
        this.citys = citys;
    }

    public List getCitys() {
        return citys;
    }

    public void setName(String name) {
        this.name = name;
    }

    //Alt +insert

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", habit=" + Arrays.toString(habit) +
                ", citys=" + citys +
                ", SetCitys=" + SetCitys +
                ", mapCitys=" + mapCitys +
                ", properties=" + properties +
                '}';
    }


//String  StringBuffer  StringBuilder
    /**
     *  String 长度不可以改变
     *  StringBuffer 是线程安全的 可变字符串
     *  StringBuilder 是线程不安全的  可变字符串
     *
     *  StringBuffer  StringBuilder 的效率比String好
     */

    /**
     *
     * ArrayList 是一个list的实现类
     * 所有的类默认都继承自Object
     * Object 有一个toString方法,默认输出的内容是hash地址
     * ArrayList显示的继承了AbstractCollection的toString方法
     * 在AbstractCollection的toString()方法中进行了重写
     *
     *
     * 用到的我们的三大特性中的多态
     *  子类继承父类，子类重写父类的方法
     *  List citys=new ArrayList()；
     *  会调用AbstractCollection重写的toString()方法
     *
     *
     *  ArrayList和AbstractCollection不都是Object的子类，继承不是单继承么
     *
     *  ArrayList==》AbstractCollection==》Object
     */
}
